﻿using Persistencia;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Dlls
{
    public class FormaPagamentoDLL
    {
           Context context;

        public FormaPagamentoDLL()
        {
            context = new Context();
        }

        public IEnumerable<FormaPagamento> List()
        {
            return (from o in context.FormaPagamento select o).ToList();
        }
        public List<FormaPagamento> ListCompleta()
        {
            return (from o in context.FormaPagamento select o).ToList();
        }

        public void Insert(FormaPagamento fpagamento) 
        {
            context.FormaPagamento.InsertOnSubmit(fpagamento);
            context.SubmitChanges();
        }

        public void Update(int codigo, FormaPagamento formapagamento)
        {
            FormaPagamento fp = context.FormaPagamento.SingleOrDefault(o => o.Codigo == codigo);
            fp.Descricao = formapagamento.Descricao;
            fp.GeraFinanceiroSN = formapagamento.GeraFinanceiroSN;
            fp.Parcelas = formapagamento.Parcelas;
            fp.ParcelaSN = formapagamento.ParcelaSN;
            fp.ValorMinimo = formapagamento.ValorMinimo;
            context.SubmitChanges();
        }

        public void Delete(int Codigo) 
        {
            FormaPagamento formapagamento = context.FormaPagamento.Single(fp => fp.Codigo == Codigo);
            context.FormaPagamento.DeleteOnSubmit(formapagamento);
            context.SubmitChanges();

        }

        public FormaPagamento getFPagamento(int codigo)
        {
            return context.FormaPagamento.SingleOrDefault(e => e.Codigo == codigo);
        }
        public FormaPagamento getCodigoPorNome(string nomeCondicao)
        {
            return context.FormaPagamento.SingleOrDefault(e => e.Descricao == nomeCondicao);
        }
    }
}

